export interface PageResult<T> {
  total: number
  current: number
  pages: number
  data: T[]
}

export type EditableReqData<T, K extends string = 'id'> = {
  [key in K]: string
} & Omit<T, K>

export type OptionQuery<T> = T extends { [key: string]: any } ? Partial<T> : T extends string ? string | '' | undefined : T | undefined

export enum EnabledStatus {
  ENABLED = '1',
  DISABLED = '0',
}

export interface BasePageReqParam {
  page: number
  size: number
}
